<table class='grammar'>
  <tbody id='grammar-productions'>
    <tr id='grammar-production-QueryUnit'>
      <td>[1]</td>
      <td><code>QueryUnit</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-Query">Query</a><code>?</code>
      </td>
    </tr>
    <tr id='grammar-production-Query'>
      <td>[2]</td>
      <td><code>Query</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-Prologue">Prologue</a>
        <code>(</code> <a href="#grammar-production-SelectQuery">SelectQuery</a> <code>|</code> <a href="#grammar-production-ConstructQuery">ConstructQuery</a> <code>|</code> <a href="#grammar-production-DescribeQuery">DescribeQuery</a> <code>|</code> <a href="#grammar-production-AskQuery">AskQuery</a><code>)</code>
      </td>
    </tr>
    <tr id='grammar-production-UpdateUnit'>
      <td>[3]</td>
      <td><code>UpdateUnit</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-Update">Update</a>
      </td>
    </tr>
    <tr id='grammar-production-Prologue'>
      <td>[4]</td>
      <td><code>Prologue</code></td>
      <td>::=</td>
      <td>
        (<a href="#grammar-production-BaseDecl">BaseDecl</a> <code>|</code> <a href="#grammar-production-PrefixDecl">PrefixDecl</a>)<code>*</code>
      </td>
    </tr>
    <tr id='grammar-production-BaseDecl'>
      <td>[5]</td>
      <td><code>BaseDecl</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">BASE</code>"
        <a href="#grammar-production-IRIREF">IRIREF</a>
      </td>
    </tr>
    <tr id='grammar-production-PrefixDecl'>
      <td>[6]</td>
      <td><code>PrefixDecl</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">PREFIX</code>"
        <a href="#grammar-production-PNAME_NS">PNAME_NS</a>
        <a href="#grammar-production-IRIREF">IRIREF</a>
      </td>
    </tr>
    <tr id='grammar-production-SelectQuery'>
      <td>[7]</td>
      <td><code>SelectQuery</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-SelectClause">SelectClause</a>
        <a href="#grammar-production-DatasetClause">DatasetClause</a><code>*</code> 
        <a href="#grammar-production-WhereClause">WhereClause</a>
        <a href="#grammar-production-SolutionModifier">SolutionModifier</a>
        <a href="#grammar-production-ValuesClause">ValuesClause</a>
      </td>
    </tr>
    <tr id='grammar-production-SubSelect'>
      <td>[8]</td>
      <td><code>SubSelect</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-SelectClause">SelectClause</a>
        <a href="#grammar-production-WhereClause">WhereClause</a>
        <a href="#grammar-production-SolutionModifier">SolutionModifier</a>
        <a href="#grammar-production-ValuesClause">ValuesClause</a>
      </td>
    </tr>
    <tr id='grammar-production-SelectClause'>
      <td>[9]</td>
      <td><code>SelectClause</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">SELECT</code>"
        ("<code class="grammar-literal">DISTINCT</code>" <code>|</code> "<code class="grammar-literal">REDUCED</code>")<code>?</code> 
        <code>(</code> (<a href="#grammar-production-Var">Var</a> <code>|</code> "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">AS</code>" <a href="#grammar-production-Var">Var</a> "<code class="grammar-literal">)</code>")<code>+</code>  <code>|</code> "<code class="grammar-literal">*</code>"<code>)</code>
      </td>
    </tr>
    <tr id='grammar-production-ConstructQuery'>
      <td>[10]</td>
      <td><code>ConstructQuery</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">CONSTRUCT</code>"
        <code>(</code> <a href="#grammar-production-ConstructTemplate">ConstructTemplate</a> <a href="#grammar-production-DatasetClause">DatasetClause</a><code>*</code>  <a href="#grammar-production-WhereClause">WhereClause</a> <a href="#grammar-production-SolutionModifier">SolutionModifier</a> <code>|</code> <a href="#grammar-production-DatasetClause">DatasetClause</a><code>*</code>  "<code class="grammar-literal">WHERE</code>" "<code class="grammar-literal">{</code>" <a href="#grammar-production-TriplesTemplate">TriplesTemplate</a><code>?</code>  "<code class="grammar-literal">}</code>" <a href="#grammar-production-SolutionModifier">SolutionModifier</a><code>)</code> 
        <a href="#grammar-production-ValuesClause">ValuesClause</a>
      </td>
    </tr>
    <tr id='grammar-production-DescribeQuery'>
      <td>[11]</td>
      <td><code>DescribeQuery</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">DESCRIBE</code>"
        <code>(</code> <a href="#grammar-production-VarOrIri">VarOrIri</a><code>+</code>  <code>|</code> "<code class="grammar-literal">*</code>"<code>)</code> 
        <a href="#grammar-production-DatasetClause">DatasetClause</a><code>*</code> 
        <a href="#grammar-production-WhereClause">WhereClause</a><code>?</code> 
        <a href="#grammar-production-SolutionModifier">SolutionModifier</a>
        <a href="#grammar-production-ValuesClause">ValuesClause</a>
      </td>
    </tr>
    <tr id='grammar-production-AskQuery'>
      <td>[12]</td>
      <td><code>AskQuery</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">ASK</code>"
        <a href="#grammar-production-DatasetClause">DatasetClause</a><code>*</code> 
        <a href="#grammar-production-WhereClause">WhereClause</a>
        <a href="#grammar-production-ValuesClause">ValuesClause</a>
      </td>
    </tr>
    <tr id='grammar-production-DatasetClause'>
      <td>[13]</td>
      <td><code>DatasetClause</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">FROM</code>"
        <code>(</code> <a href="#grammar-production-DefaultGraphClause">DefaultGraphClause</a> <code>|</code> <a href="#grammar-production-NamedGraphClause">NamedGraphClause</a><code>)</code>
      </td>
    </tr>
    <tr id='grammar-production-DefaultGraphClause'>
      <td>[14]</td>
      <td><code>DefaultGraphClause</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-SourceSelector">SourceSelector</a>
      </td>
    </tr>
    <tr id='grammar-production-NamedGraphClause'>
      <td>[15]</td>
      <td><code>NamedGraphClause</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">NAMED</code>"
        <a href="#grammar-production-SourceSelector">SourceSelector</a>
      </td>
    </tr>
    <tr id='grammar-production-SourceSelector'>
      <td>[16]</td>
      <td><code>SourceSelector</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-iri">iri</a>
      </td>
    </tr>
    <tr id='grammar-production-WhereClause'>
      <td>[17]</td>
      <td><code>WhereClause</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">WHERE</code>"<code>?</code> 
        <a href="#grammar-production-GroupGraphPattern">GroupGraphPattern</a>
      </td>
    </tr>
    <tr id='grammar-production-SolutionModifier'>
      <td>[18]</td>
      <td><code>SolutionModifier</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-GroupClause">GroupClause</a><code>?</code> 
        <a href="#grammar-production-HavingClause">HavingClause</a><code>?</code> 
        <a href="#grammar-production-OrderClause">OrderClause</a><code>?</code> 
        <a href="#grammar-production-LimitOffsetClauses">LimitOffsetClauses</a><code>?</code>
      </td>
    </tr>
    <tr id='grammar-production-GroupClause'>
      <td>[19]</td>
      <td><code>GroupClause</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">GROUP</code>"
        "<code class="grammar-literal">BY</code>"
        <a href="#grammar-production-GroupCondition">GroupCondition</a><code>+</code>
      </td>
    </tr>
    <tr id='grammar-production-GroupCondition'>
      <td>[20]</td>
      <td><code>GroupCondition</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-BuiltInCall">BuiltInCall</a>
        <code>|</code> <a href="#grammar-production-FunctionCall">FunctionCall</a>
        <code>|</code> "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> ("<code class="grammar-literal">AS</code>" <a href="#grammar-production-Var">Var</a>)<code>?</code>  "<code class="grammar-literal">)</code>"
        <code>|</code> <a href="#grammar-production-Var">Var</a>
      </td>
    </tr>
    <tr id='grammar-production-HavingClause'>
      <td>[21]</td>
      <td><code>HavingClause</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">HAVING</code>"
        <a href="#grammar-production-HavingCondition">HavingCondition</a><code>+</code>
      </td>
    </tr>
    <tr id='grammar-production-HavingCondition'>
      <td>[22]</td>
      <td><code>HavingCondition</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-Constraint">Constraint</a>
      </td>
    </tr>
    <tr id='grammar-production-OrderClause'>
      <td>[23]</td>
      <td><code>OrderClause</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">ORDER</code>"
        "<code class="grammar-literal">BY</code>"
        <a href="#grammar-production-OrderCondition">OrderCondition</a><code>+</code>
      </td>
    </tr>
    <tr id='grammar-production-OrderCondition'>
      <td>[24]</td>
      <td><code>OrderCondition</code></td>
      <td>::=</td>
      <td>
        <code>(</code> "<code class="grammar-literal">ASC</code>" <code>|</code> "<code class="grammar-literal">DESC</code>"<code>)</code>  <a href="#grammar-production-BrackettedExpression">BrackettedExpression</a>
        <code>|</code> <a href="#grammar-production-Constraint">Constraint</a> <code>|</code> <a href="#grammar-production-Var">Var</a>
      </td>
    </tr>
    <tr id='grammar-production-LimitOffsetClauses'>
      <td>[25]</td>
      <td><code>LimitOffsetClauses</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-LimitClause">LimitClause</a> <a href="#grammar-production-OffsetClause">OffsetClause</a><code>?</code> 
        <code>|</code> <a href="#grammar-production-OffsetClause">OffsetClause</a> <a href="#grammar-production-LimitClause">LimitClause</a><code>?</code>
      </td>
    </tr>
    <tr id='grammar-production-LimitClause'>
      <td>[26]</td>
      <td><code>LimitClause</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">LIMIT</code>"
        <a href="#grammar-production-INTEGER">INTEGER</a>
      </td>
    </tr>
    <tr id='grammar-production-OffsetClause'>
      <td>[27]</td>
      <td><code>OffsetClause</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">OFFSET</code>"
        <a href="#grammar-production-INTEGER">INTEGER</a>
      </td>
    </tr>
    <tr id='grammar-production-ValuesClause'>
      <td>[28]</td>
      <td><code>ValuesClause</code></td>
      <td>::=</td>
      <td>
        ("<code class="grammar-literal">VALUES</code>" <a href="#grammar-production-DataBlock">DataBlock</a>)<code>?</code>
      </td>
    </tr>
    <tr id='grammar-production-Update'>
      <td>[29]</td>
      <td><code>Update</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-Prologue">Prologue</a>
        (<a href="#grammar-production-Update1">Update1</a> ("<code class="grammar-literal">;</code>" <a href="#grammar-production-Update">Update</a>)<code>?</code> )<code>?</code>
      </td>
    </tr>
    <tr id='grammar-production-Update1'>
      <td>[30]</td>
      <td><code>Update1</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-Load">Load</a>
        <code>|</code> <a href="#grammar-production-Clear">Clear</a>
        <code>|</code> <a href="#grammar-production-Drop">Drop</a>
        <code>|</code> <a href="#grammar-production-Add">Add</a>
        <code>|</code> <a href="#grammar-production-Move">Move</a>
        <code>|</code> <a href="#grammar-production-Copy">Copy</a>
        <code>|</code> <a href="#grammar-production-Create">Create</a>
        <code>|</code> <a href="#grammar-production-InsertData">InsertData</a>
        <code>|</code> <a href="#grammar-production-DeleteData">DeleteData</a>
        <code>|</code> <a href="#grammar-production-DeleteWhere">DeleteWhere</a>
        <code>|</code> <a href="#grammar-production-Modify">Modify</a>
      </td>
    </tr>
    <tr id='grammar-production-Load'>
      <td>[31]</td>
      <td><code>Load</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">LOAD</code>"
        "<code class="grammar-literal">SILENT</code>"<code>?</code> 
        <a href="#grammar-production-iri">iri</a>
        ("<code class="grammar-literal">INTO</code>" <a href="#grammar-production-GraphRef">GraphRef</a>)<code>?</code>
      </td>
    </tr>
    <tr id='grammar-production-Clear'>
      <td>[32]</td>
      <td><code>Clear</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">CLEAR</code>"
        "<code class="grammar-literal">SILENT</code>"<code>?</code> 
        <a href="#grammar-production-GraphRefAll">GraphRefAll</a>
      </td>
    </tr>
    <tr id='grammar-production-Drop'>
      <td>[33]</td>
      <td><code>Drop</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">DROP</code>"
        "<code class="grammar-literal">SILENT</code>"<code>?</code> 
        <a href="#grammar-production-GraphRefAll">GraphRefAll</a>
      </td>
    </tr>
    <tr id='grammar-production-Create'>
      <td>[34]</td>
      <td><code>Create</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">CREATE</code>"
        "<code class="grammar-literal">SILENT</code>"<code>?</code> 
        <a href="#grammar-production-GraphRef">GraphRef</a>
      </td>
    </tr>
    <tr id='grammar-production-Add'>
      <td>[35]</td>
      <td><code>Add</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">ADD</code>"
        "<code class="grammar-literal">SILENT</code>"<code>?</code> 
        <a href="#grammar-production-GraphOrDefault">GraphOrDefault</a>
        "<code class="grammar-literal">TO</code>"
        <a href="#grammar-production-GraphOrDefault">GraphOrDefault</a>
      </td>
    </tr>
    <tr id='grammar-production-Move'>
      <td>[36]</td>
      <td><code>Move</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">MOVE</code>"
        "<code class="grammar-literal">SILENT</code>"<code>?</code> 
        <a href="#grammar-production-GraphOrDefault">GraphOrDefault</a>
        "<code class="grammar-literal">TO</code>"
        <a href="#grammar-production-GraphOrDefault">GraphOrDefault</a>
      </td>
    </tr>
    <tr id='grammar-production-Copy'>
      <td>[37]</td>
      <td><code>Copy</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">COPY</code>"
        "<code class="grammar-literal">SILENT</code>"<code>?</code> 
        <a href="#grammar-production-GraphOrDefault">GraphOrDefault</a>
        "<code class="grammar-literal">TO</code>"
        <a href="#grammar-production-GraphOrDefault">GraphOrDefault</a>
      </td>
    </tr>
    <tr id='grammar-production-InsertData'>
      <td>[38]</td>
      <td><code>InsertData</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">INSERT DATA</code>"
        <a href="#grammar-production-QuadData">QuadData</a>
      </td>
    </tr>
    <tr id='grammar-production-DeleteData'>
      <td>[39]</td>
      <td><code>DeleteData</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">DELETE DATA</code>"
        <a href="#grammar-production-QuadData">QuadData</a>
      </td>
    </tr>
    <tr id='grammar-production-DeleteWhere'>
      <td>[40]</td>
      <td><code>DeleteWhere</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">DELETE WHERE</code>"
        <a href="#grammar-production-QuadPattern">QuadPattern</a>
      </td>
    </tr>
    <tr id='grammar-production-Modify'>
      <td>[41]</td>
      <td><code>Modify</code></td>
      <td>::=</td>
      <td>
        ("<code class="grammar-literal">WITH</code>" <a href="#grammar-production-iri">iri</a>)<code>?</code> 
        <code>(</code> <a href="#grammar-production-DeleteClause">DeleteClause</a> <a href="#grammar-production-InsertClause">InsertClause</a><code>?</code>  <code>|</code> <a href="#grammar-production-InsertClause">InsertClause</a><code>)</code> 
        <a href="#grammar-production-UsingClause">UsingClause</a><code>*</code> 
        "<code class="grammar-literal">WHERE</code>"
        <a href="#grammar-production-GroupGraphPattern">GroupGraphPattern</a>
      </td>
    </tr>
    <tr id='grammar-production-DeleteClause'>
      <td>[42]</td>
      <td><code>DeleteClause</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">DELETE</code>"
        <a href="#grammar-production-QuadPattern">QuadPattern</a>
      </td>
    </tr>
    <tr id='grammar-production-InsertClause'>
      <td>[43]</td>
      <td><code>InsertClause</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">INSERT</code>"
        <a href="#grammar-production-QuadPattern">QuadPattern</a>
      </td>
    </tr>
    <tr id='grammar-production-UsingClause'>
      <td>[44]</td>
      <td><code>UsingClause</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">USING</code>"
        <code>(</code> <a href="#grammar-production-iri">iri</a> <code>|</code> "<code class="grammar-literal">NAMED</code>" <a href="#grammar-production-iri">iri</a><code>)</code>
      </td>
    </tr>
    <tr id='grammar-production-GraphOrDefault'>
      <td>[45]</td>
      <td><code>GraphOrDefault</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">DEFAULT</code>"
        <code>|</code> "<code class="grammar-literal">GRAPH</code>"<code>?</code>  <a href="#grammar-production-iri">iri</a>
      </td>
    </tr>
    <tr id='grammar-production-GraphRef'>
      <td>[46]</td>
      <td><code>GraphRef</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">GRAPH</code>"
        <a href="#grammar-production-iri">iri</a>
      </td>
    </tr>
    <tr id='grammar-production-GraphRefAll'>
      <td>[47]</td>
      <td><code>GraphRefAll</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-GraphRef">GraphRef</a>
        <code>|</code> "<code class="grammar-literal">DEFAULT</code>"
        <code>|</code> "<code class="grammar-literal">NAMED</code>"
        <code>|</code> "<code class="grammar-literal">ALL</code>"
      </td>
    </tr>
    <tr id='grammar-production-QuadPattern'>
      <td>[48]</td>
      <td><code>QuadPattern</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">{</code>"
        <a href="#grammar-production-Quads">Quads</a>
        "<code class="grammar-literal">}</code>"
      </td>
    </tr>
    <tr id='grammar-production-QuadData'>
      <td>[49]</td>
      <td><code>QuadData</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">{</code>"
        <a href="#grammar-production-Quads">Quads</a>
        "<code class="grammar-literal">}</code>"
      </td>
    </tr>
    <tr id='grammar-production-Quads'>
      <td>[50]</td>
      <td><code>Quads</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-TriplesTemplate">TriplesTemplate</a><code>?</code> 
        (<a href="#grammar-production-QuadsNotTriples">QuadsNotTriples</a> "<code class="grammar-literal">.</code>"<code>?</code>  <a href="#grammar-production-TriplesTemplate">TriplesTemplate</a><code>?</code> )<code>*</code>
      </td>
    </tr>
    <tr id='grammar-production-QuadsNotTriples'>
      <td>[51]</td>
      <td><code>QuadsNotTriples</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">GRAPH</code>"
        <a href="#grammar-production-VarOrIri">VarOrIri</a>
        "<code class="grammar-literal">{</code>"
        <a href="#grammar-production-TriplesTemplate">TriplesTemplate</a><code>?</code> 
        "<code class="grammar-literal">}</code>"
      </td>
    </tr>
    <tr id='grammar-production-TriplesTemplate'>
      <td>[52]</td>
      <td><code>TriplesTemplate</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-TriplesSameSubject">TriplesSameSubject</a>
        ("<code class="grammar-literal">.</code>" <a href="#grammar-production-TriplesTemplate">TriplesTemplate</a><code>?</code> )<code>?</code>
      </td>
    </tr>
    <tr id='grammar-production-GroupGraphPattern'>
      <td>[53]</td>
      <td><code>GroupGraphPattern</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">{</code>"
        <code>(</code> <a href="#grammar-production-SubSelect">SubSelect</a> <code>|</code> <a href="#grammar-production-GroupGraphPatternSub">GroupGraphPatternSub</a><code>)</code> 
        "<code class="grammar-literal">}</code>"
      </td>
    </tr>
    <tr id='grammar-production-GroupGraphPatternSub'>
      <td>[54]</td>
      <td><code>GroupGraphPatternSub</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-TriplesBlock">TriplesBlock</a><code>?</code> 
        (<a href="#grammar-production-GraphPatternNotTriples">GraphPatternNotTriples</a> "<code class="grammar-literal">.</code>"<code>?</code>  <a href="#grammar-production-TriplesBlock">TriplesBlock</a><code>?</code> )<code>*</code>
      </td>
    </tr>
    <tr id='grammar-production-TriplesBlock'>
      <td>[55]</td>
      <td><code>TriplesBlock</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-TriplesSameSubjectPath">TriplesSameSubjectPath</a>
        ("<code class="grammar-literal">.</code>" <a href="#grammar-production-TriplesBlock">TriplesBlock</a><code>?</code> )<code>?</code>
      </td>
    </tr>
    <tr id='grammar-production-GraphPatternNotTriples'>
      <td>[56]</td>
      <td><code>GraphPatternNotTriples</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-GroupOrUnionGraphPattern">GroupOrUnionGraphPattern</a>
        <code>|</code> <a href="#grammar-production-OptionalGraphPattern">OptionalGraphPattern</a>
        <code>|</code> <a href="#grammar-production-MinusGraphPattern">MinusGraphPattern</a>
        <code>|</code> <a href="#grammar-production-GraphGraphPattern">GraphGraphPattern</a>
        <code>|</code> <a href="#grammar-production-ServiceGraphPattern">ServiceGraphPattern</a>
        <code>|</code> <a href="#grammar-production-Filter">Filter</a>
        <code>|</code> <a href="#grammar-production-Bind">Bind</a>
        <code>|</code> <a href="#grammar-production-InlineData">InlineData</a>
      </td>
    </tr>
    <tr id='grammar-production-OptionalGraphPattern'>
      <td>[57]</td>
      <td><code>OptionalGraphPattern</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">OPTIONAL</code>"
        <a href="#grammar-production-GroupGraphPattern">GroupGraphPattern</a>
      </td>
    </tr>
    <tr id='grammar-production-GraphGraphPattern'>
      <td>[58]</td>
      <td><code>GraphGraphPattern</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">GRAPH</code>"
        <a href="#grammar-production-VarOrIri">VarOrIri</a>
        <a href="#grammar-production-GroupGraphPattern">GroupGraphPattern</a>
      </td>
    </tr>
    <tr id='grammar-production-ServiceGraphPattern'>
      <td>[59]</td>
      <td><code>ServiceGraphPattern</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">SERVICE</code>"
        "<code class="grammar-literal">SILENT</code>"<code>?</code> 
        <a href="#grammar-production-VarOrIri">VarOrIri</a>
        <a href="#grammar-production-GroupGraphPattern">GroupGraphPattern</a>
      </td>
    </tr>
    <tr id='grammar-production-Bind'>
      <td>[60]</td>
      <td><code>Bind</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">BIND</code>"
        "<code class="grammar-literal">(</code>"
        <a href="#grammar-production-Expression">Expression</a>
        "<code class="grammar-literal">AS</code>"
        <a href="#grammar-production-Var">Var</a>
        "<code class="grammar-literal">)</code>"
      </td>
    </tr>
    <tr id='grammar-production-InlineData'>
      <td>[61]</td>
      <td><code>InlineData</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">VALUES</code>"
        <a href="#grammar-production-DataBlock">DataBlock</a>
      </td>
    </tr>
    <tr id='grammar-production-DataBlock'>
      <td>[62]</td>
      <td><code>DataBlock</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-InlineDataOneVar">InlineDataOneVar</a>
        <code>|</code> <a href="#grammar-production-InlineDataFull">InlineDataFull</a>
      </td>
    </tr>
    <tr id='grammar-production-InlineDataOneVar'>
      <td>[63]</td>
      <td><code>InlineDataOneVar</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-Var">Var</a>
        "<code class="grammar-literal">{</code>"
        <a href="#grammar-production-DataBlockValue">DataBlockValue</a><code>*</code> 
        "<code class="grammar-literal">}</code>"
      </td>
    </tr>
    <tr id='grammar-production-InlineDataFull'>
      <td>[64]</td>
      <td><code>InlineDataFull</code></td>
      <td>::=</td>
      <td>
        <code>(</code> <a href="#grammar-production-NIL">NIL</a> <code>|</code> "<code class="grammar-literal">(</code>" <a href="#grammar-production-Var">Var</a><code>*</code>  "<code class="grammar-literal">)</code>"<code>)</code> 
        "<code class="grammar-literal">{</code>"
        ("<code class="grammar-literal">(</code>" <a href="#grammar-production-DataBlockValue">DataBlockValue</a><code>*</code>  "<code class="grammar-literal">)</code>" <code>|</code> <a href="#grammar-production-NIL">NIL</a>)<code>*</code> 
        "<code class="grammar-literal">}</code>"
      </td>
    </tr>
    <tr id='grammar-production-DataBlockValue'>
      <td>[65]</td>
      <td><code>DataBlockValue</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-iri">iri</a>
        <code>|</code> <a href="#grammar-production-RDFLiteral">RDFLiteral</a>
        <code>|</code> <a href="#grammar-production-NumericLiteral">NumericLiteral</a>
        <code>|</code> <a href="#grammar-production-BooleanLiteral">BooleanLiteral</a>
        <code>|</code> "<code class="grammar-literal">UNDEF</code>"
      </td>
    </tr>
    <tr id='grammar-production-MinusGraphPattern'>
      <td>[66]</td>
      <td><code>MinusGraphPattern</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">MINUS</code>"
        <a href="#grammar-production-GroupGraphPattern">GroupGraphPattern</a>
      </td>
    </tr>
    <tr id='grammar-production-GroupOrUnionGraphPattern'>
      <td>[67]</td>
      <td><code>GroupOrUnionGraphPattern</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-GroupGraphPattern">GroupGraphPattern</a>
        ("<code class="grammar-literal">UNION</code>" <a href="#grammar-production-GroupGraphPattern">GroupGraphPattern</a>)<code>*</code>
      </td>
    </tr>
    <tr id='grammar-production-Filter'>
      <td>[68]</td>
      <td><code>Filter</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">FILTER</code>"
        <a href="#grammar-production-Constraint">Constraint</a>
      </td>
    </tr>
    <tr id='grammar-production-Constraint'>
      <td>[69]</td>
      <td><code>Constraint</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-BrackettedExpression">BrackettedExpression</a>
        <code>|</code> <a href="#grammar-production-BuiltInCall">BuiltInCall</a>
        <code>|</code> <a href="#grammar-production-FunctionCall">FunctionCall</a>
      </td>
    </tr>
    <tr id='grammar-production-FunctionCall'>
      <td>[70]</td>
      <td><code>FunctionCall</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-iri">iri</a>
        <a href="#grammar-production-ArgList">ArgList</a>
      </td>
    </tr>
    <tr id='grammar-production-ArgList'>
      <td>[71]</td>
      <td><code>ArgList</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-NIL">NIL</a>
        <code>|</code> "<code class="grammar-literal">(</code>" "<code class="grammar-literal">DISTINCT</code>"<code>?</code>  <a href="#grammar-production-Expression">Expression</a> ("<code class="grammar-literal">,</code>" <a href="#grammar-production-Expression">Expression</a>)<code>*</code>  "<code class="grammar-literal">)</code>"
      </td>
    </tr>
    <tr id='grammar-production-ExpressionList'>
      <td>[72]</td>
      <td><code>ExpressionList</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-NIL">NIL</a>
        <code>|</code> "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> ("<code class="grammar-literal">,</code>" <a href="#grammar-production-Expression">Expression</a>)<code>*</code>  "<code class="grammar-literal">)</code>"
      </td>
    </tr>
    <tr id='grammar-production-ConstructTemplate'>
      <td>[73]</td>
      <td><code>ConstructTemplate</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">{</code>"
        <a href="#grammar-production-ConstructTriples">ConstructTriples</a><code>?</code> 
        "<code class="grammar-literal">}</code>"
      </td>
    </tr>
    <tr id='grammar-production-ConstructTriples'>
      <td>[74]</td>
      <td><code>ConstructTriples</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-TriplesSameSubject">TriplesSameSubject</a>
        ("<code class="grammar-literal">.</code>" <a href="#grammar-production-ConstructTriples">ConstructTriples</a><code>?</code> )<code>?</code>
      </td>
    </tr>
    <tr id='grammar-production-TriplesSameSubject'>
      <td>[75]</td>
      <td><code>TriplesSameSubject</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-VarOrTerm">VarOrTerm</a> <a href="#grammar-production-PropertyListNotEmpty">PropertyListNotEmpty</a>
        <code>|</code> <a href="#grammar-production-TriplesNode">TriplesNode</a> <a href="#grammar-production-PropertyList">PropertyList</a>
      </td>
    </tr>
    <tr id='grammar-production-PropertyList'>
      <td>[76]</td>
      <td><code>PropertyList</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-PropertyListNotEmpty">PropertyListNotEmpty</a><code>?</code>
      </td>
    </tr>
    <tr id='grammar-production-PropertyListNotEmpty'>
      <td>[77]</td>
      <td><code>PropertyListNotEmpty</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-Verb">Verb</a>
        <a href="#grammar-production-ObjectList">ObjectList</a>
        ("<code class="grammar-literal">;</code>" (<a href="#grammar-production-Verb">Verb</a> <a href="#grammar-production-ObjectList">ObjectList</a>)<code>?</code> )<code>*</code>
      </td>
    </tr>
    <tr id='grammar-production-Verb'>
      <td>[78]</td>
      <td><code>Verb</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-VarOrIri">VarOrIri</a>
        <code>|</code> "<code class="grammar-literal">a</code>"
      </td>
    </tr>
    <tr id='grammar-production-ObjectList'>
      <td>[79]</td>
      <td><code>ObjectList</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-Object">Object</a>
        ("<code class="grammar-literal">,</code>" <a href="#grammar-production-Object">Object</a>)<code>*</code>
      </td>
    </tr>
    <tr id='grammar-production-Object'>
      <td>[80]</td>
      <td><code>Object</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-GraphNode">GraphNode</a>
      </td>
    </tr>
    <tr id='grammar-production-TriplesSameSubjectPath'>
      <td>[81]</td>
      <td><code>TriplesSameSubjectPath</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-VarOrTerm">VarOrTerm</a> <a href="#grammar-production-PropertyListPathNotEmpty">PropertyListPathNotEmpty</a>
        <code>|</code> <a href="#grammar-production-TriplesNodePath">TriplesNodePath</a> <a href="#grammar-production-PropertyListPath">PropertyListPath</a>
      </td>
    </tr>
    <tr id='grammar-production-PropertyListPath'>
      <td>[82]</td>
      <td><code>PropertyListPath</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-PropertyListPathNotEmpty">PropertyListPathNotEmpty</a><code>?</code>
      </td>
    </tr>
    <tr id='grammar-production-PropertyListPathNotEmpty'>
      <td>[83]</td>
      <td><code>PropertyListPathNotEmpty</code></td>
      <td>::=</td>
      <td>
        <code>(</code> <a href="#grammar-production-VerbPath">VerbPath</a> <code>|</code> <a href="#grammar-production-VerbSimple">VerbSimple</a><code>)</code> 
        <a href="#grammar-production-ObjectListPath">ObjectListPath</a>
        ("<code class="grammar-literal">;</code>" (<code>(</code> <a href="#grammar-production-VerbPath">VerbPath</a> <code>|</code> <a href="#grammar-production-VerbSimple">VerbSimple</a><code>)</code>  <a href="#grammar-production-ObjectList">ObjectList</a>)<code>?</code> )<code>*</code>
      </td>
    </tr>
    <tr id='grammar-production-VerbPath'>
      <td>[84]</td>
      <td><code>VerbPath</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-Path">Path</a>
      </td>
    </tr>
    <tr id='grammar-production-VerbSimple'>
      <td>[85]</td>
      <td><code>VerbSimple</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-Var">Var</a>
      </td>
    </tr>
    <tr id='grammar-production-ObjectListPath'>
      <td>[86]</td>
      <td><code>ObjectListPath</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-ObjectPath">ObjectPath</a>
        ("<code class="grammar-literal">,</code>" <a href="#grammar-production-ObjectPath">ObjectPath</a>)<code>*</code>
      </td>
    </tr>
    <tr id='grammar-production-ObjectPath'>
      <td>[87]</td>
      <td><code>ObjectPath</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-GraphNodePath">GraphNodePath</a>
      </td>
    </tr>
    <tr id='grammar-production-Path'>
      <td>[88]</td>
      <td><code>Path</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-PathAlternative">PathAlternative</a>
      </td>
    </tr>
    <tr id='grammar-production-PathAlternative'>
      <td>[89]</td>
      <td><code>PathAlternative</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-PathSequence">PathSequence</a>
        ("<code class="grammar-literal">|</code>" <a href="#grammar-production-PathSequence">PathSequence</a>)<code>*</code>
      </td>
    </tr>
    <tr id='grammar-production-PathSequence'>
      <td>[90]</td>
      <td><code>PathSequence</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-PathEltOrInverse">PathEltOrInverse</a>
        ("<code class="grammar-literal">/</code>" <a href="#grammar-production-PathEltOrInverse">PathEltOrInverse</a>)<code>*</code>
      </td>
    </tr>
    <tr id='grammar-production-PathElt'>
      <td>[91]</td>
      <td><code>PathElt</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-PathPrimary">PathPrimary</a>
        <a href="#grammar-production-PathMod">PathMod</a><code>?</code>
      </td>
    </tr>
    <tr id='grammar-production-PathEltOrInverse'>
      <td>[92]</td>
      <td><code>PathEltOrInverse</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-PathElt">PathElt</a>
        <code>|</code> "<code class="grammar-literal">^</code>" <a href="#grammar-production-PathElt">PathElt</a>
      </td>
    </tr>
    <tr id='grammar-production-PathMod'>
      <td>[93]</td>
      <td><code>PathMod</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">*</code>"
        <code>|</code> "<code class="grammar-literal">?</code>"
        <code>|</code> "<code class="grammar-literal">+</code>"
      </td>
    </tr>
    <tr id='grammar-production-PathPrimary'>
      <td>[94]</td>
      <td><code>PathPrimary</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-iri">iri</a>
        <code>|</code> "<code class="grammar-literal">a</code>"
        <code>|</code> <code class="grammar-char-escape">#x21</code> <a href="#grammar-production-PathNegatedPropertySet">PathNegatedPropertySet</a>
        <code>|</code> "<code class="grammar-literal">(</code>" <a href="#grammar-production-Path">Path</a> "<code class="grammar-literal">)</code>"
      </td>
    </tr>
    <tr id='grammar-production-PathNegatedPropertySet'>
      <td>[95]</td>
      <td><code>PathNegatedPropertySet</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-PathOneInPropertySet">PathOneInPropertySet</a>
        <code>|</code> "<code class="grammar-literal">(</code>" (<a href="#grammar-production-PathOneInPropertySet">PathOneInPropertySet</a> ("<code class="grammar-literal">|</code>" <a href="#grammar-production-PathOneInPropertySet">PathOneInPropertySet</a>)<code>*</code> )<code>?</code>  "<code class="grammar-literal">)</code>"
      </td>
    </tr>
    <tr id='grammar-production-PathOneInPropertySet'>
      <td>[96]</td>
      <td><code>PathOneInPropertySet</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-iri">iri</a>
        <code>|</code> "<code class="grammar-literal">a</code>"
        <code>|</code> "<code class="grammar-literal">^</code>" <code>(</code> <a href="#grammar-production-iri">iri</a> <code>|</code> "<code class="grammar-literal">a</code>"<code>)</code>
      </td>
    </tr>
    <tr id='grammar-production-Integer'>
      <td>[97]</td>
      <td><code>Integer</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-INTEGER">INTEGER</a>
      </td>
    </tr>
    <tr id='grammar-production-TriplesNode'>
      <td>[98]</td>
      <td><code>TriplesNode</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-Collection">Collection</a>
        <code>|</code> <a href="#grammar-production-BlankNodePropertyList">BlankNodePropertyList</a>
      </td>
    </tr>
    <tr id='grammar-production-BlankNodePropertyList'>
      <td>[99]</td>
      <td><code>BlankNodePropertyList</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">[</code>"
        <a href="#grammar-production-PropertyListNotEmpty">PropertyListNotEmpty</a>
        "<code class="grammar-literal">]</code>"
      </td>
    </tr>
    <tr id='grammar-production-TriplesNodePath'>
      <td>[100]</td>
      <td><code>TriplesNodePath</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-CollectionPath">CollectionPath</a>
        <code>|</code> <a href="#grammar-production-BlankNodePropertyListPath">BlankNodePropertyListPath</a>
      </td>
    </tr>
    <tr id='grammar-production-BlankNodePropertyListPath'>
      <td>[101]</td>
      <td><code>BlankNodePropertyListPath</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">[</code>"
        <a href="#grammar-production-PropertyListPathNotEmpty">PropertyListPathNotEmpty</a>
        "<code class="grammar-literal">]</code>"
      </td>
    </tr>
    <tr id='grammar-production-Collection'>
      <td>[102]</td>
      <td><code>Collection</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">(</code>"
        <a href="#grammar-production-GraphNode">GraphNode</a><code>+</code> 
        "<code class="grammar-literal">)</code>"
      </td>
    </tr>
    <tr id='grammar-production-CollectionPath'>
      <td>[103]</td>
      <td><code>CollectionPath</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">(</code>"
        <a href="#grammar-production-GraphNodePath">GraphNodePath</a><code>+</code> 
        "<code class="grammar-literal">)</code>"
      </td>
    </tr>
    <tr id='grammar-production-GraphNode'>
      <td>[104]</td>
      <td><code>GraphNode</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-VarOrTerm">VarOrTerm</a>
        <code>|</code> <a href="#grammar-production-TriplesNode">TriplesNode</a>
      </td>
    </tr>
    <tr id='grammar-production-GraphNodePath'>
      <td>[105]</td>
      <td><code>GraphNodePath</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-VarOrTerm">VarOrTerm</a>
        <code>|</code> <a href="#grammar-production-TriplesNodePath">TriplesNodePath</a>
      </td>
    </tr>
    <tr id='grammar-production-VarOrTerm'>
      <td>[106]</td>
      <td><code>VarOrTerm</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-Var">Var</a>
        <code>|</code> <a href="#grammar-production-GraphTerm">GraphTerm</a>
      </td>
    </tr>
    <tr id='grammar-production-VarOrIri'>
      <td>[107]</td>
      <td><code>VarOrIri</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-Var">Var</a>
        <code>|</code> <a href="#grammar-production-iri">iri</a>
      </td>
    </tr>
    <tr id='grammar-production-Var'>
      <td>[108]</td>
      <td><code>Var</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-VAR1">VAR1</a>
        <code>|</code> <a href="#grammar-production-VAR2">VAR2</a>
      </td>
    </tr>
    <tr id='grammar-production-GraphTerm'>
      <td>[109]</td>
      <td><code>GraphTerm</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-iri">iri</a>
        <code>|</code> <a href="#grammar-production-RDFLiteral">RDFLiteral</a>
        <code>|</code> <a href="#grammar-production-NumericLiteral">NumericLiteral</a>
        <code>|</code> <a href="#grammar-production-BooleanLiteral">BooleanLiteral</a>
        <code>|</code> <a href="#grammar-production-BlankNode">BlankNode</a>
        <code>|</code> <a href="#grammar-production-NIL">NIL</a>
      </td>
    </tr>
    <tr id='grammar-production-Expression'>
      <td>[110]</td>
      <td><code>Expression</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-ConditionalOrExpression">ConditionalOrExpression</a>
      </td>
    </tr>
    <tr id='grammar-production-ConditionalOrExpression'>
      <td>[111]</td>
      <td><code>ConditionalOrExpression</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-ConditionalAndExpression">ConditionalAndExpression</a>
        ("<code class="grammar-literal">||</code>" <a href="#grammar-production-ConditionalAndExpression">ConditionalAndExpression</a>)<code>*</code>
      </td>
    </tr>
    <tr id='grammar-production-ConditionalAndExpression'>
      <td>[112]</td>
      <td><code>ConditionalAndExpression</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-ValueLogical">ValueLogical</a>
        ("<code class="grammar-literal">&&</code>" <a href="#grammar-production-ValueLogical">ValueLogical</a>)<code>*</code>
      </td>
    </tr>
    <tr id='grammar-production-ValueLogical'>
      <td>[113]</td>
      <td><code>ValueLogical</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-RelationalExpression">RelationalExpression</a>
      </td>
    </tr>
    <tr id='grammar-production-RelationalExpression'>
      <td>[114]</td>
      <td><code>RelationalExpression</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-NumericExpression">NumericExpression</a>
        ("<code class="grammar-literal">=</code>" <a href="#grammar-production-NumericExpression">NumericExpression</a> <code>|</code> "<code class="grammar-literal">!=</code>" <a href="#grammar-production-NumericExpression">NumericExpression</a> <code>|</code> "<code class="grammar-literal"><</code>" <a href="#grammar-production-NumericExpression">NumericExpression</a> <code>|</code> "<code class="grammar-literal">></code>" <a href="#grammar-production-NumericExpression">NumericExpression</a> <code>|</code> "<code class="grammar-literal"><=</code>" <a href="#grammar-production-NumericExpression">NumericExpression</a> <code>|</code> "<code class="grammar-literal">>=</code>" <a href="#grammar-production-NumericExpression">NumericExpression</a> <code>|</code> "<code class="grammar-literal">IN</code>" <a href="#grammar-production-ExpressionList">ExpressionList</a> <code>|</code> "<code class="grammar-literal">NOT</code>" "<code class="grammar-literal">IN</code>" <a href="#grammar-production-ExpressionList">ExpressionList</a>)<code>?</code>
      </td>
    </tr>
    <tr id='grammar-production-NumericExpression'>
      <td>[115]</td>
      <td><code>NumericExpression</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-AdditiveExpression">AdditiveExpression</a>
      </td>
    </tr>
    <tr id='grammar-production-AdditiveExpression'>
      <td>[116]</td>
      <td><code>AdditiveExpression</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-MultiplicativeExpression">MultiplicativeExpression</a>
        ("<code class="grammar-literal">+</code>" <a href="#grammar-production-MultiplicativeExpression">MultiplicativeExpression</a> <code>|</code> "<code class="grammar-literal">-</code>" <a href="#grammar-production-MultiplicativeExpression">MultiplicativeExpression</a> <code>|</code> <code>(</code> <a href="#grammar-production-NumericLiteralPositive">NumericLiteralPositive</a> <code>|</code> <a href="#grammar-production-NumericLiteralNegative">NumericLiteralNegative</a><code>)</code>  ("<code class="grammar-literal">*</code>" <a href="#grammar-production-UnaryExpression">UnaryExpression</a> <code>|</code> "<code class="grammar-literal">/</code>" <a href="#grammar-production-UnaryExpression">UnaryExpression</a>)<code>?</code> )<code>*</code>
      </td>
    </tr>
    <tr id='grammar-production-MultiplicativeExpression'>
      <td>[117]</td>
      <td><code>MultiplicativeExpression</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-UnaryExpression">UnaryExpression</a>
        ("<code class="grammar-literal">*</code>" <a href="#grammar-production-UnaryExpression">UnaryExpression</a> <code>|</code> "<code class="grammar-literal">/</code>" <a href="#grammar-production-UnaryExpression">UnaryExpression</a>)<code>*</code>
      </td>
    </tr>
    <tr id='grammar-production-UnaryExpression'>
      <td>[118]</td>
      <td><code>UnaryExpression</code></td>
      <td>::=</td>
      <td>
        <code class="grammar-char-escape">#x21</code> <a href="#grammar-production-PrimaryExpression">PrimaryExpression</a>
        <code>|</code> "<code class="grammar-literal">+</code>" <a href="#grammar-production-PrimaryExpression">PrimaryExpression</a>
        <code>|</code> "<code class="grammar-literal">-</code>" <a href="#grammar-production-PrimaryExpression">PrimaryExpression</a>
        <code>|</code> <a href="#grammar-production-PrimaryExpression">PrimaryExpression</a>
      </td>
    </tr>
    <tr id='grammar-production-PrimaryExpression'>
      <td>[119]</td>
      <td><code>PrimaryExpression</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-BrackettedExpression">BrackettedExpression</a>
        <code>|</code> <a href="#grammar-production-BuiltInCall">BuiltInCall</a>
        <code>|</code> <a href="#grammar-production-iriOrFunction">iriOrFunction</a>
        <code>|</code> <a href="#grammar-production-RDFLiteral">RDFLiteral</a>
        <code>|</code> <a href="#grammar-production-NumericLiteral">NumericLiteral</a>
        <code>|</code> <a href="#grammar-production-BooleanLiteral">BooleanLiteral</a>
        <code>|</code> <a href="#grammar-production-Var">Var</a>
      </td>
    </tr>
    <tr id='grammar-production-BrackettedExpression'>
      <td>[120]</td>
      <td><code>BrackettedExpression</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">(</code>"
        <a href="#grammar-production-Expression">Expression</a>
        "<code class="grammar-literal">)</code>"
      </td>
    </tr>
    <tr id='grammar-production-BuiltInCall'>
      <td>[121]</td>
      <td><code>BuiltInCall</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-Aggregate">Aggregate</a>
        <code>|</code> "<code class="grammar-literal">STR</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">LANG</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">LANGMATCHES</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">,</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">DATATYPE</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">BOUND</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Var">Var</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">IRI</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">URI</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">BNODE</code>" <code>(</code> "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>" <code>|</code> <a href="#grammar-production-NIL">NIL</a><code>)</code> 
        <code>|</code> "<code class="grammar-literal">RAND</code>" <a href="#grammar-production-NIL">NIL</a>
        <code>|</code> "<code class="grammar-literal">ABS</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">CEIL</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">FLOOR</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">ROUND</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">CONCAT</code>" <a href="#grammar-production-ExpressionList">ExpressionList</a>
        <code>|</code> <a href="#grammar-production-SubstringExpression">SubstringExpression</a>
        <code>|</code> "<code class="grammar-literal">STRLEN</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> <a href="#grammar-production-StrReplaceExpression">StrReplaceExpression</a>
        <code>|</code> "<code class="grammar-literal">UCASE</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">LCASE</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">ENCODE_FOR_URI</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">CONTAINS</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">,</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">STRSTARTS</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">,</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">STRENDS</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">,</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">STRBEFORE</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">,</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">STRAFTER</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">,</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">YEAR</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">MONTH</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">DAY</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">HOURS</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">MINUTES</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">SECONDS</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">TIMEZONE</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">TZ</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">NOW</code>" <a href="#grammar-production-NIL">NIL</a>
        <code>|</code> "<code class="grammar-literal">UUID</code>" <a href="#grammar-production-NIL">NIL</a>
        <code>|</code> "<code class="grammar-literal">STRUUID</code>" <a href="#grammar-production-NIL">NIL</a>
        <code>|</code> "<code class="grammar-literal">MD5</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">SHA1</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">SHA224</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">SHA256</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">SHA384</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">SHA512</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">COALESCE</code>" <a href="#grammar-production-ExpressionList">ExpressionList</a>
        <code>|</code> "<code class="grammar-literal">IF</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">,</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">,</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">STRLANG</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">,</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">STRDT</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">,</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">sameTerm</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">,</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">isIRI</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">isURI</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">isBLANK</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">isLITERAL</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">isNUMERIC</code>" "<code class="grammar-literal">(</code>" <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> <a href="#grammar-production-RegexExpression">RegexExpression</a>
        <code>|</code> <a href="#grammar-production-ExistsFunc">ExistsFunc</a>
        <code>|</code> <a href="#grammar-production-NotExistsFunc">NotExistsFunc</a>
      </td>
    </tr>
    <tr id='grammar-production-RegexExpression'>
      <td>[122]</td>
      <td><code>RegexExpression</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">REGEX</code>"
        "<code class="grammar-literal">(</code>"
        <a href="#grammar-production-Expression">Expression</a>
        "<code class="grammar-literal">,</code>"
        <a href="#grammar-production-Expression">Expression</a>
        ("<code class="grammar-literal">,</code>" <a href="#grammar-production-Expression">Expression</a>)<code>?</code> 
        "<code class="grammar-literal">)</code>"
      </td>
    </tr>
    <tr id='grammar-production-SubstringExpression'>
      <td>[123]</td>
      <td><code>SubstringExpression</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">SUBSTR</code>"
        "<code class="grammar-literal">(</code>"
        <a href="#grammar-production-Expression">Expression</a>
        "<code class="grammar-literal">,</code>"
        <a href="#grammar-production-Expression">Expression</a>
        ("<code class="grammar-literal">,</code>" <a href="#grammar-production-Expression">Expression</a>)<code>?</code> 
        "<code class="grammar-literal">)</code>"
      </td>
    </tr>
    <tr id='grammar-production-StrReplaceExpression'>
      <td>[124]</td>
      <td><code>StrReplaceExpression</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">REPLACE</code>"
        "<code class="grammar-literal">(</code>"
        <a href="#grammar-production-Expression">Expression</a>
        "<code class="grammar-literal">,</code>"
        <a href="#grammar-production-Expression">Expression</a>
        "<code class="grammar-literal">,</code>"
        <a href="#grammar-production-Expression">Expression</a>
        ("<code class="grammar-literal">,</code>" <a href="#grammar-production-Expression">Expression</a>)<code>?</code> 
        "<code class="grammar-literal">)</code>"
      </td>
    </tr>
    <tr id='grammar-production-ExistsFunc'>
      <td>[125]</td>
      <td><code>ExistsFunc</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">EXISTS</code>"
        <a href="#grammar-production-GroupGraphPattern">GroupGraphPattern</a>
      </td>
    </tr>
    <tr id='grammar-production-NotExistsFunc'>
      <td>[126]</td>
      <td><code>NotExistsFunc</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">NOT</code>"
        "<code class="grammar-literal">EXISTS</code>"
        <a href="#grammar-production-GroupGraphPattern">GroupGraphPattern</a>
      </td>
    </tr>
    <tr id='grammar-production-Aggregate'>
      <td>[127]</td>
      <td><code>Aggregate</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">COUNT</code>" "<code class="grammar-literal">(</code>" "<code class="grammar-literal">DISTINCT</code>"<code>?</code>  <code>(</code> "<code class="grammar-literal">*</code>" <code>|</code> <a href="#grammar-production-Expression">Expression</a><code>)</code>  "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">SUM</code>" "<code class="grammar-literal">(</code>" "<code class="grammar-literal">DISTINCT</code>"<code>?</code>  <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">MIN</code>" "<code class="grammar-literal">(</code>" "<code class="grammar-literal">DISTINCT</code>"<code>?</code>  <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">MAX</code>" "<code class="grammar-literal">(</code>" "<code class="grammar-literal">DISTINCT</code>"<code>?</code>  <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">AVG</code>" "<code class="grammar-literal">(</code>" "<code class="grammar-literal">DISTINCT</code>"<code>?</code>  <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">SAMPLE</code>" "<code class="grammar-literal">(</code>" "<code class="grammar-literal">DISTINCT</code>"<code>?</code>  <a href="#grammar-production-Expression">Expression</a> "<code class="grammar-literal">)</code>"
        <code>|</code> "<code class="grammar-literal">GROUP_CONCAT</code>" "<code class="grammar-literal">(</code>" "<code class="grammar-literal">DISTINCT</code>"<code>?</code>  <a href="#grammar-production-Expression">Expression</a> ("<code class="grammar-literal">;</code>" "<code class="grammar-literal">SEPARATOR</code>" "<code class="grammar-literal">=</code>" <a href="#grammar-production-String">String</a>)<code>?</code>  "<code class="grammar-literal">)</code>"
      </td>
    </tr>
    <tr id='grammar-production-iriOrFunction'>
      <td>[128]</td>
      <td><code>iriOrFunction</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-iri">iri</a>
        <a href="#grammar-production-ArgList">ArgList</a><code>?</code>
      </td>
    </tr>
    <tr id='grammar-production-RDFLiteral'>
      <td>[129]</td>
      <td><code>RDFLiteral</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-String">String</a>
        (<a href="#grammar-production-LANGTAG">LANGTAG</a> <code>|</code> "<code class="grammar-literal">^^</code>" <a href="#grammar-production-iri">iri</a>)<code>?</code>
      </td>
    </tr>
    <tr id='grammar-production-NumericLiteral'>
      <td>[130]</td>
      <td><code>NumericLiteral</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-NumericLiteralUnsigned">NumericLiteralUnsigned</a>
        <code>|</code> <a href="#grammar-production-NumericLiteralPositive">NumericLiteralPositive</a>
        <code>|</code> <a href="#grammar-production-NumericLiteralNegative">NumericLiteralNegative</a>
      </td>
    </tr>
    <tr id='grammar-production-NumericLiteralUnsigned'>
      <td>[131]</td>
      <td><code>NumericLiteralUnsigned</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-INTEGER">INTEGER</a>
        <code>|</code> <a href="#grammar-production-DECIMAL">DECIMAL</a>
        <code>|</code> <a href="#grammar-production-DOUBLE">DOUBLE</a>
      </td>
    </tr>
    <tr id='grammar-production-NumericLiteralPositive'>
      <td>[132]</td>
      <td><code>NumericLiteralPositive</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-INTEGER_POSITIVE">INTEGER_POSITIVE</a>
        <code>|</code> <a href="#grammar-production-DECIMAL_POSITIVE">DECIMAL_POSITIVE</a>
        <code>|</code> <a href="#grammar-production-DOUBLE_POSITIVE">DOUBLE_POSITIVE</a>
      </td>
    </tr>
    <tr id='grammar-production-NumericLiteralNegative'>
      <td>[133]</td>
      <td><code>NumericLiteralNegative</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-INTEGER_NEGATIVE">INTEGER_NEGATIVE</a>
        <code>|</code> <a href="#grammar-production-DECIMAL_NEGATIVE">DECIMAL_NEGATIVE</a>
        <code>|</code> <a href="#grammar-production-DOUBLE_NEGATIVE">DOUBLE_NEGATIVE</a>
      </td>
    </tr>
    <tr id='grammar-production-BooleanLiteral'>
      <td>[134]</td>
      <td><code>BooleanLiteral</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">true</code>"
        <code>|</code> "<code class="grammar-literal">false</code>"
      </td>
    </tr>
    <tr id='grammar-production-String'>
      <td>[135]</td>
      <td><code>String</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-STRING_LITERAL1">STRING_LITERAL1</a>
        <code>|</code> <a href="#grammar-production-STRING_LITERAL2">STRING_LITERAL2</a>
        <code>|</code> <a href="#grammar-production-STRING_LITERAL_LONG1">STRING_LITERAL_LONG1</a>
        <code>|</code> <a href="#grammar-production-STRING_LITERAL_LONG2">STRING_LITERAL_LONG2</a>
      </td>
    </tr>
    <tr id='grammar-production-iri'>
      <td>[136]</td>
      <td><code>iri</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-IRIREF">IRIREF</a>
        <code>|</code> <a href="#grammar-production-PrefixedName">PrefixedName</a>
      </td>
    </tr>
    <tr id='grammar-production-PrefixedName'>
      <td>[137]</td>
      <td><code>PrefixedName</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-PNAME_LN">PNAME_LN</a>
        <code>|</code> <a href="#grammar-production-PNAME_NS">PNAME_NS</a>
      </td>
    </tr>
    <tr id='grammar-production-BlankNode'>
      <td>[138]</td>
      <td><code>BlankNode</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-BLANK_NODE_LABEL">BLANK_NODE_LABEL</a>
        <code>|</code> <a href="#grammar-production-ANON">ANON</a>
      </td>
    </tr>
    <tr id='grammar-production-IRIREF'>
      <td>[139]</td>
      <td><code>IRIREF</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal"><</code>"
        <code>[</code> <code class="grammar-literal">^</code><code class="grammar-char-escape">#x00</code><code class="grammar-literal">-</code><code class="grammar-char-escape">#x20</code><code class="grammar-literal"><>"{}|^`]</code><code class="grammar-char-escape">#x20</code><code class="grammar-literal">|</code><code class="grammar-char-escape">#x20</code><code class="grammar-literal">UCHAR)*</code><code class="grammar-char-escape">#x20</code><code class="grammar-literal">'>'</code><code>]</code>
      </td>
    </tr>
    <tr id='grammar-production-PNAME_NS'>
      <td>[140]</td>
      <td><code>PNAME_NS</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-PN_PREFIX">PN_PREFIX</a><code>?</code> 
        "<code class="grammar-literal">:</code>"
      </td>
    </tr>
    <tr id='grammar-production-PNAME_LN'>
      <td>[141]</td>
      <td><code>PNAME_LN</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-PNAME_NS">PNAME_NS</a>
        <a href="#grammar-production-PN_LOCAL">PN_LOCAL</a>
      </td>
    </tr>
    <tr id='grammar-production-BLANK_NODE_LABEL'>
      <td>[142]</td>
      <td><code>BLANK_NODE_LABEL</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">_:</code>"
        <code>(</code> <a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a> <code>|</code> <code>[</code> <code class="grammar-literal">0-9</code><code>]</code> <code>)</code> 
        (<a href="#grammar-production-PN_CHARS">PN_CHARS</a> <code>|</code> "<code class="grammar-literal">.</code>")<code>*</code>  <a href="#grammar-production-PN_CHARS">PN_CHARS</a><code>?</code>
      </td>
    </tr>
    <tr id='grammar-production-VAR1'>
      <td>[143]</td>
      <td><code>VAR1</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">?</code>"
        <a href="#grammar-production-VARNAME">VARNAME</a>
      </td>
    </tr>
    <tr id='grammar-production-VAR2'>
      <td>[144]</td>
      <td><code>VAR2</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">$</code>"
        <a href="#grammar-production-VARNAME">VARNAME</a>
      </td>
    </tr>
    <tr id='grammar-production-LANGTAG'>
      <td>[145]</td>
      <td><code>LANGTAG</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">@</code>"
        (<code>[</code> <code class="grammar-literal">a-zA-Z</code><code>]</code> )<code>+</code> 
        ("<code class="grammar-literal">-</code>" (<code>[</code> <code class="grammar-literal">a-zA-Z0-9</code><code>]</code> )<code>+</code> )<code>*</code>
      </td>
    </tr>
    <tr id='grammar-production-INTEGER'>
      <td>[146]</td>
      <td><code>INTEGER</code></td>
      <td>::=</td>
      <td>
        (<code>[</code> <code class="grammar-literal">0-9</code><code>]</code> )<code>+</code>
      </td>
    </tr>
    <tr id='grammar-production-DECIMAL'>
      <td>[147]</td>
      <td><code>DECIMAL</code></td>
      <td>::=</td>
      <td>
        (<code>[</code> <code class="grammar-literal">0-9</code><code>]</code> )<code>*</code> 
        "<code class="grammar-literal">.</code>"
        (<code>[</code> <code class="grammar-literal">0-9</code><code>]</code> )<code>+</code>
      </td>
    </tr>
    <tr id='grammar-production-DOUBLE'>
      <td>[148]</td>
      <td><code>DOUBLE</code></td>
      <td>::=</td>
      <td>
        (<code>[</code> <code class="grammar-literal">0-9</code><code>]</code> )<code>+</code>  "<code class="grammar-literal">.</code>" (<code>[</code> <code class="grammar-literal">0-9</code><code>]</code> )<code>*</code>  <a href="#grammar-production-EXPONENT">EXPONENT</a>
        <code>|</code> "<code class="grammar-literal">.</code>" (<code>[</code> <code class="grammar-literal">0-9</code><code>]</code> )<code>+</code>  <a href="#grammar-production-EXPONENT">EXPONENT</a>
        <code>|</code> (<code>[</code> <code class="grammar-literal">0-9</code><code>]</code> )<code>+</code>  <a href="#grammar-production-EXPONENT">EXPONENT</a>
      </td>
    </tr>
    <tr id='grammar-production-INTEGER_POSITIVE'>
      <td>[149]</td>
      <td><code>INTEGER_POSITIVE</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">+</code>"
        <a href="#grammar-production-INTEGER">INTEGER</a>
      </td>
    </tr>
    <tr id='grammar-production-DECIMAL_POSITIVE'>
      <td>[150]</td>
      <td><code>DECIMAL_POSITIVE</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">+</code>"
        <a href="#grammar-production-DECIMAL">DECIMAL</a>
      </td>
    </tr>
    <tr id='grammar-production-DOUBLE_POSITIVE'>
      <td>[151]</td>
      <td><code>DOUBLE_POSITIVE</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">+</code>"
        <a href="#grammar-production-DOUBLE">DOUBLE</a>
      </td>
    </tr>
    <tr id='grammar-production-INTEGER_NEGATIVE'>
      <td>[152]</td>
      <td><code>INTEGER_NEGATIVE</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">-</code>"
        <a href="#grammar-production-INTEGER">INTEGER</a>
      </td>
    </tr>
    <tr id='grammar-production-DECIMAL_NEGATIVE'>
      <td>[153]</td>
      <td><code>DECIMAL_NEGATIVE</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">-</code>"
        <a href="#grammar-production-DECIMAL">DECIMAL</a>
      </td>
    </tr>
    <tr id='grammar-production-DOUBLE_NEGATIVE'>
      <td>[154]</td>
      <td><code>DOUBLE_NEGATIVE</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">-</code>"
        <a href="#grammar-production-DOUBLE">DOUBLE</a>
      </td>
    </tr>
    <tr id='grammar-production-EXPONENT'>
      <td>[155]</td>
      <td><code>EXPONENT</code></td>
      <td>::=</td>
      <td>
        <code>[</code> <code class="grammar-literal">eE</code><code>]</code> 
        (<code>[</code> <code class="grammar-literal">+-</code><code>]</code> )<code>?</code> 
        (<code>[</code> <code class="grammar-literal">0-9</code><code>]</code> )<code>+</code>
      </td>
    </tr>
    <tr id='grammar-production-STRING_LITERAL1'>
      <td>[156]</td>
      <td><code>STRING_LITERAL1</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">'</code>"
        (<code>[</code> <code class="grammar-literal">^</code><code class="grammar-char-escape">#x27</code><code class="grammar-char-escape">#x5C</code><code class="grammar-char-escape">#xA</code><code class="grammar-char-escape">#xD</code><code>]</code>  <code>|</code> <a href="#grammar-production-ECHAR">ECHAR</a>)<code>*</code> 
        "<code class="grammar-literal">'</code>"
      </td>
    </tr>
    <tr id='grammar-production-STRING_LITERAL2'>
      <td>[157]</td>
      <td><code>STRING_LITERAL2</code></td>
      <td>::=</td>
      <td>
        '<code class="grammar-literal">"</code>'
        (<code>[</code> <code class="grammar-literal">^</code><code class="grammar-char-escape">#x22</code><code class="grammar-char-escape">#x5C</code><code class="grammar-char-escape">#xA</code><code class="grammar-char-escape">#xD</code><code>]</code>  <code>|</code> <a href="#grammar-production-ECHAR">ECHAR</a>)<code>*</code> 
        '<code class="grammar-literal">"</code>'
      </td>
    </tr>
    <tr id='grammar-production-STRING_LITERAL_LONG1'>
      <td>[158]</td>
      <td><code>STRING_LITERAL_LONG1</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">'''</code>"
        <code>(</code> ("<code class="grammar-literal">'</code>" <code>|</code> "<code class="grammar-literal">''</code>")<code>?</code>  <code>[</code> <code class="grammar-literal">^']</code><code class="grammar-char-escape">#x20</code><code class="grammar-literal">|</code><code class="grammar-char-escape">#x20</code><code class="grammar-literal">ECHAR</code><code class="grammar-char-escape">#x20</code><code class="grammar-literal">)</code><code class="grammar-char-escape">#x20</code><code class="grammar-literal">)*</code><code class="grammar-char-escape">#x20</code><code class="grammar-literal">"'''"</code><code>]</code> <code>)</code>
      </td>
    </tr>
    <tr id='grammar-production-STRING_LITERAL_LONG2'>
      <td>[159]</td>
      <td><code>STRING_LITERAL_LONG2</code></td>
      <td>::=</td>
      <td>
        '<code class="grammar-literal">"""</code>'
        <code>(</code> ('<code class="grammar-literal">"</code>' <code>|</code> '<code class="grammar-literal">""</code>')<code>?</code>  <code>[</code> <code class="grammar-literal">^"]</code><code class="grammar-char-escape">#x20</code><code class="grammar-literal">|</code><code class="grammar-char-escape">#x20</code><code class="grammar-literal">ECHAR</code><code class="grammar-char-escape">#x20</code><code class="grammar-literal">)</code><code class="grammar-char-escape">#x20</code><code class="grammar-literal">)*</code><code class="grammar-char-escape">#x20</code><code class="grammar-literal">'"""'</code><code>]</code> <code>)</code>
      </td>
    </tr>
    <tr id='grammar-production-ECHAR'>
      <td>[160]</td>
      <td><code>ECHAR</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">\</code>"
        <code>[</code> <code class="grammar-literal">tbnrf"'</code><code>]</code>
      </td>
    </tr>
    <tr id='grammar-production-NIL'>
      <td>[161]</td>
      <td><code>NIL</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">(</code>"
        <a href="#grammar-production-WS">WS</a><code>*</code> 
        "<code class="grammar-literal">)</code>"
      </td>
    </tr>
    <tr id='grammar-production-WS'>
      <td>[162]</td>
      <td><code>WS</code></td>
      <td>::=</td>
      <td>
        <code class="grammar-char-escape">#x20</code>
        <code>|</code> <code class="grammar-char-escape">#x9</code>
        <code>|</code> <code class="grammar-char-escape">#xD</code>
        <code>|</code> <code class="grammar-char-escape">#xA</code>
      </td>
    </tr>
    <tr id='grammar-production-ANON'>
      <td>[163]</td>
      <td><code>ANON</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">[</code>"
        <a href="#grammar-production-WS">WS</a><code>*</code> 
        "<code class="grammar-literal">]</code>"
      </td>
    </tr>
    <tr id='grammar-production-PN_CHARS_BASE'>
      <td>[164]</td>
      <td><code>PN_CHARS_BASE</code></td>
      <td>::=</td>
      <td>
        <code>[</code> <code class="grammar-literal">A-Z</code><code>]</code> 
        <code>|</code> <code>[</code> <code class="grammar-literal">a-z</code><code>]</code> 
        <code>|</code> <code>[</code> <code class="grammar-char-escape">#x00C0</code><code class="grammar-literal">-</code><code class="grammar-char-escape">#x00D6</code><code>]</code> 
        <code>|</code> <code>[</code> <code class="grammar-char-escape">#x00D8</code><code class="grammar-literal">-</code><code class="grammar-char-escape">#x00F6</code><code>]</code> 
        <code>|</code> <code>[</code> <code class="grammar-char-escape">#x00F8</code><code class="grammar-literal">-</code><code class="grammar-char-escape">#x02FF</code><code>]</code> 
        <code>|</code> <code>[</code> <code class="grammar-char-escape">#x0370</code><code class="grammar-literal">-</code><code class="grammar-char-escape">#x037D</code><code>]</code> 
        <code>|</code> <code>[</code> <code class="grammar-char-escape">#x037F</code><code class="grammar-literal">-</code><code class="grammar-char-escape">#x1FFF</code><code>]</code> 
        <code>|</code> <code>[</code> <code class="grammar-char-escape">#x200C</code><code class="grammar-literal">-</code><code class="grammar-char-escape">#x200D</code><code>]</code> 
        <code>|</code> <code>[</code> <code class="grammar-char-escape">#x2070</code><code class="grammar-literal">-</code><code class="grammar-char-escape">#x218F</code><code>]</code> 
        <code>|</code> <code>[</code> <code class="grammar-char-escape">#x2C00</code><code class="grammar-literal">-</code><code class="grammar-char-escape">#x2FEF</code><code>]</code> 
        <code>|</code> <code>[</code> <code class="grammar-char-escape">#x3001</code><code class="grammar-literal">-</code><code class="grammar-char-escape">#xD7FF</code><code>]</code> 
        <code>|</code> <code>[</code> <code class="grammar-char-escape">#xF900</code><code class="grammar-literal">-</code><code class="grammar-char-escape">#xFDCF</code><code>]</code> 
        <code>|</code> <code>[</code> <code class="grammar-char-escape">#xFDF0</code><code class="grammar-literal">-</code><code class="grammar-char-escape">#xFFFD</code><code>]</code> 
        <code>|</code> <code>[</code> <code class="grammar-char-escape">#x10000</code><code class="grammar-literal">-</code><code class="grammar-char-escape">#xEFFFF</code><code>]</code>
      </td>
    </tr>
    <tr id='grammar-production-PN_CHARS_U'>
      <td>[165]</td>
      <td><code>PN_CHARS_U</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-PN_CHARS_BASE">PN_CHARS_BASE</a>
        <code>|</code> "<code class="grammar-literal">_</code>"
      </td>
    </tr>
    <tr id='grammar-production-VARNAME'>
      <td>[166]</td>
      <td><code>VARNAME</code></td>
      <td>::=</td>
      <td>
        <code>(</code> <a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a> <code>|</code> <code>[</code> <code class="grammar-literal">0-9</code><code>]</code> <code>)</code> 
        (<a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a> <code>|</code> <code>[</code> <code class="grammar-literal">0-9</code><code>]</code>  <code>|</code> <code class="grammar-char-escape">#x00B7</code> <code>|</code> <code>[</code> <code class="grammar-char-escape">#x0300</code><code class="grammar-literal">-</code><code class="grammar-char-escape">#x036F</code><code>]</code>  <code>|</code> <code>[</code> <code class="grammar-char-escape">#x203F</code><code class="grammar-literal">-</code><code class="grammar-char-escape">#x2040</code><code>]</code> )<code>*</code>
      </td>
    </tr>
    <tr id='grammar-production-PN_CHARS'>
      <td>[167]</td>
      <td><code>PN_CHARS</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a>
        <code>|</code> "<code class="grammar-literal">-</code>"
        <code>|</code> <code>[</code> <code class="grammar-literal">0-9</code><code>]</code> 
        <code>|</code> <code class="grammar-char-escape">#x00B7</code>
        <code>|</code> <code>[</code> <code class="grammar-char-escape">#x0300</code><code class="grammar-literal">-</code><code class="grammar-char-escape">#x036F</code><code>]</code> 
        <code>|</code> <code>[</code> <code class="grammar-char-escape">#x203F</code><code class="grammar-literal">-</code><code class="grammar-char-escape">#x2040</code><code>]</code>
      </td>
    </tr>
    <tr id='grammar-production-PN_PREFIX'>
      <td>[168]</td>
      <td><code>PN_PREFIX</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-PN_CHARS_BASE">PN_CHARS_BASE</a>
        (<a href="#grammar-production-PN_CHARS">PN_CHARS</a> <code>|</code> "<code class="grammar-literal">.</code>")<code>*</code>  <a href="#grammar-production-PN_CHARS">PN_CHARS</a><code>?</code>
      </td>
    </tr>
    <tr id='grammar-production-PN_LOCAL'>
      <td>[169]</td>
      <td><code>PN_LOCAL</code></td>
      <td>::=</td>
      <td>
        <code>(</code> <a href="#grammar-production-PN_CHARS_U">PN_CHARS_U</a> <code>|</code> <code>[</code> <code class="grammar-literal">0-9</code><code>]</code> <code>)</code> 
        (<a href="#grammar-production-PN_CHARS">PN_CHARS</a> <code>|</code> "<code class="grammar-literal">.</code>")<code>*</code>  <a href="#grammar-production-PN_CHARS">PN_CHARS</a><code>?</code>
      </td>
    </tr>
    <tr id='grammar-production-PLX'>
      <td>[170]</td>
      <td><code>PLX</code></td>
      <td>::=</td>
      <td>
        <a href="#grammar-production-PERCENT">PERCENT</a>
        <code>|</code> <a href="#grammar-production-PN_LOCAL_ESC">PN_LOCAL_ESC</a>
      </td>
    </tr>
    <tr id='grammar-production-PERCENT'>
      <td>[171]</td>
      <td><code>PERCENT</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">%</code>"
        <a href="#grammar-production-HEX">HEX</a>
        <a href="#grammar-production-HEX">HEX</a>
      </td>
    </tr>
    <tr id='grammar-production-HEX'>
      <td>[172]</td>
      <td><code>HEX</code></td>
      <td>::=</td>
      <td>
        <code>[</code> <code class="grammar-literal">0-9</code><code>]</code> 
        <code>|</code> <code>[</code> <code class="grammar-literal">A-F</code><code>]</code> 
        <code>|</code> <code>[</code> <code class="grammar-literal">a-f</code><code>]</code>
      </td>
    </tr>
    <tr id='grammar-production-PN_LOCAL_ESC'>
      <td>[173]</td>
      <td><code>PN_LOCAL_ESC</code></td>
      <td>::=</td>
      <td>
        "<code class="grammar-literal">\</code>"
        <code>(</code> "<code class="grammar-literal">_</code>" <code>|</code> "<code class="grammar-literal">~</code>" <code>|</code> "<code class="grammar-literal">.</code>" <code>|</code> "<code class="grammar-literal">-</code>" <code>|</code> <code class="grammar-char-escape">#x21</code> <code>|</code> "<code class="grammar-literal">$</code>" <code>|</code> "<code class="grammar-literal">&</code>" <code>|</code> "<code class="grammar-literal">'</code>" <code>|</code> "<code class="grammar-literal">(</code>" <code>|</code> "<code class="grammar-literal">)</code>" <code>|</code> "<code class="grammar-literal">*</code>" <code>|</code> "<code class="grammar-literal">+</code>" <code>|</code> "<code class="grammar-literal">,</code>" <code>|</code> "<code class="grammar-literal">;</code>" <code>|</code> "<code class="grammar-literal">=</code>" <code>|</code> "<code class="grammar-literal">/</code>" <code>|</code> "<code class="grammar-literal">?</code>" <code>|</code> "<code class="grammar-literal">#</code>" <code>|</code> "<code class="grammar-literal">@</code>" <code>|</code> "<code class="grammar-literal">%</code>"<code>)</code>
      </td>
    </tr>
  </tbody>
</table>
